package com.kristin.sort;

/**
 * 冒泡排序
 * 空间复杂度：o(1)
 * 平均时间复杂度：o(n^2)
 * 最好时间复杂度：o()
 * 最坏时间复杂度：
 */
public class BubbleSort {

    public void sort(int[] arrs){
        for(int i = 0 ; i <arrs.length - 1 ; i++) {
            // 比较 n - 1 轮
            for(int j = 0 ; j < arrs.length - 1 - i ; j++) {
                // 每一轮的比较次数
                if(arrs[j] > arrs[j + 1]){
                    swap(j, j+ 1 , arrs);
                }
            }
        }
    }

    public void swap(int i , int j , int arrs[]) {
        int temp = arrs[i];
        arrs[i] = arrs[j];
        arrs[j] = temp;
    }

    public static void main(String[] args) {
        int[] arrs = new int[]{10, 9, 8, 7, 4, 3, 2, 1, 6, 5};
        new BubbleSort().sort(arrs);
        print(arrs);
    }

    public static void print(int[] arrs) {
        for (int i : arrs) {
            System.out.print(i + "\t");
        }
    }

}
